Individuals and organizations are rapidly accumulating large collections of digital image content, including still images, text, graphics, animated graphics, and full-motion video images. This content may be presented individually or combined in a wide variety of different forms, including documents, catalogs, presentations, still photographs, commercial videos, home movies, and metadata describing one or more associated digital content files. As these collections grow in number and diversity, individuals and organizations increasingly will require systems and methods for organizing and presenting the digital content in their collections. To meet this need, a variety of different systems and methods for organizing and presenting digital image content have been proposed.
For example, there are several digital image albuming systems that enable users to create digital photo albums manually. These systems typically provide tools for organizing a collection of images and laying out these images on one or more pages. Among the common types of tools for manually creating a digital photo album are tools for selecting a subset of images in the collection that will appear on a page of an album, a graphical user interface for manually rearranging the images on the page, and basic image editing tools for modifying various characteristics, such as size and orientation, of the images that will appear in the album. Users typically find the process of generating a digital photo album using fully manual digital image albuming systems to be tedious and time consuming.
Some automated digital image albuming systems allow users to organize digital images into album pages in accordance with dates and times specified in the metadata associated with the images. These systems also typically allow users to annotate the images appearing in the digital photo album pages. Some automated digital image albuming systems provide various predefined layout templates that a user may select to create a digital photo album. In these systems, the user assigns images from the collection to various predefined image locations on a selected layout template, and the system automatically adjusts the size, placement, rotation, and framing of the images in accordance with parameters specified for the various predefined image locations on the selected template. Other digital image albuming systems are designed to produce album pages automatically with minimal input from the user.
One exemplary photo albuming system dynamically lays out images and associated text using pre-defined layouts that are stored in a layout definition file. The images and associated text are laid out based on the contents of the layout definition file. A user interface provides a canvas and a layout gallery. The user places one or more images on the canvas and selects a pre-defined layout from the gallery that is applied dynamically to images that are placed on the canvas. Once the layout has been dynamically generated and displayed, the user can modify the layout by adding additional images or completing the text annotations in the layout. The user may also modify the size or position of elements in the layout. In response to modification of the layout, the layout is regenerated based on contents of the layout definition file in view of the modification. For example, if a new image is added, the layout is regenerated to appropriately incorporate the new image into the layout.
What are needed are improved systems and methods of automatically arranging images and text on a page.